Bluetooth phone reconnection strategy

ABSTRACT

When a wireless communications module, such as a Bluetooth transceiver in a vehicle, is confronted with numerous devices that it can choose to connect to, one particular device of many is chosen by the Bluetooth transceiver by determining a connection priority for each available, connectible device. Priority can be determined by factors that change over time and for different users and different devices. Examples include time of day, day of the week, direction, who is driving a vehicle, where a vehicle is going, and where a vehicle has been. The importance of any given factor can be user-specified or programmed into the Bluetooth transceiver.

BACKGROUND

Wireless communications and wireless management techniques are wellknown. While there might be different connection management methods indifferent vehicles, some wireless communications and managementimplementations such as Bluetooth are user unfriendly.

In many Bluetooth-enabled vehicles, only one device of a given category,e.g., cell phone, media player, navigation device, can be connected tothe vehicle's Bluetooth system at any given time. If there is more thanone Bluetooth-compatible device in the vehicle, the vehicle's Bluetoothsystem will typically connect to the first device in each supportedcategory that it finds.

Because some vehicles implement driver distraction prevention systems,it may not be possible to change which device is connected to aBluetooth system in a moving vehicle. Since a fixed-order list ofdevices is maintained, there is no mechanism to allow the vehicle toconnect an available device that is in a lower position in the list, andno mechanism for selection and connection of devices based on thecurrent operating conditions of the vehicle.

BRIEF SUMMARY

In accordance with embodiments of the invention, when a wirelesscommunications module, such as a Bluetooth transceiver in a vehicle, isconfronted with numerous devices that it can choose to connect to, oneparticular device of many is chosen by the Bluetooth transceiver bydetermining a connection priority for each available, connectibledevice. Priority can be determined by factors that change over time andfor different users and different devices. Examples include time of day,day of the week, direction, who is driving a vehicle, where a vehicle isgoing, and where a vehicle has been. The importance of any given factorcan be user-specified or programmed into the Bluetooth transceiver.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a representative view of an automobile with multipleBluetooth-connectible devices;

FIG. 2 is a schematic representation of a wireless communication systemcomprising a wireless communications module and several connectibleportable wireless communications devices;

FIG. 3 is a block diagram of a wireless communications module such as aBluetooth module configured to determine a connection priority ofseveral connectible devices and to connect to the device that has thehighest priority; and

FIG. 4 is a chart depicting steps of a method for connecting a portablewireless communications device to a wireless communications module.

DETAILED DESCRIPTION

FIG. 1 depicts an automobile or other motor vehicle 100 having awireless communications transceiver 102 capable of communicatingwirelessly with multiple wireless communications devices 104A and 104B,when such devices are inside the vehicle 100. In a preferred embodiment,the communications transceiver 102 is embodied as a Bluetoothtransceiver but it could just as well be an access point compatible withthe IEEE 802.11-type protocols, which are also referred to as Wi-Fiaccess points.

The communications devices 104A and 104B depicted in FIG. 1 are cellphones. They provide wireless communications to a user. Suchcommunications can be voice communications, or data communications(e.g., text messaging, Internet access). The devices 104A and 104B aretypically embodied as cell phones but could also be one or more mediaplayers, one or more personal digital assistants (PDA), one or moretablet computers, or one or more other kinds of devices that can bewirelessly connected to a Bluetooth transceiver or other type of accesspoint.

The vehicle's communications module 102 is a Bluetooth radio transceiverthat is configured to communicate wirelessly with the portablecommunications devices 104A and 104B. The communications module 102 isalso configured to connect to and communicate with the device that hasthe highest priority, the highest priority being determined according toa locally defined priority ranking of known devices.

FIG. 2 is a schematic representation of a wireless communications system200 for use within a vehicle. A wireless communications module 202 isdepicted as being within signal range of several different types of“wirelessly connectible” devices that are identified by referencenumerals 204, 206, 208, 210 and 212. They include, but are not limitedto, cell phones 204, 206 and 208, a Bluetooth-enabled music/media player210 and a Bluetooth-enabled tablet computer 214.

As described above, a problem with a vehicle wireless communicationssystem is determining which one of several possible devices 204-214 areto be connected to the communications module 202, which is typicallycapable of connecting to only one device of a particular type (e.g.,phone, media player) at a time. As described herein, a Bluetoothreconnection strategy selects a particular device to connect using aprioritization of several different connectible devices 204-214.Prioritization is preferably based on one or more changing or changeableoperating conditions that compose all or part of a pool of conditionsthat can be applied to the task of selecting which device to connect. Inanother embodiment, the prioritization is determined by an operatorselection or operator specification of the prioritization factors.

FIG. 3 is a block diagram of a communications module 300 configured toselect one particular device to connect to, from several possibledevices, the device that is selected being the one to which thecommunications module is to be wirelessly connected. The selection of adevice for connection to the module is based on a connection prioritylevel of the selected device relative to the several other connectibledevices. The communications module 300 is thus configured to connect tothe wireless device having the highest-priority of the currentlyavailable devices.

Central to the communications module is a wireless transceiver 302,preferably embodied as a Bluetooth transceiver but also capable of beinga Wi-Fi or other similar wireless communications device. The transceiver302 is coupled to a computer 303. The computer 303, which is also knownin the art as a controller, comprises a processor or central processingunit (CPU) 304, program and data memory 311, and data memory 324. Thetransceiver 302 and processor are coupled to each other via aconventional address/data/control bus 306, different embodiments ofwhich are well known in the computer art. The bus 306 also couples theCPU 304 to a user interface 308 through which a user of thecommunications module 300 can specify operating conditions or parametersincluding specifying a prioritization list or prioritization factors bywhich the communications module 300 will select one particular device ofmany to which it will connect to.

The bus 306 also connects the CPU 304 to one or more non-volatileprogram and data storage devices, one shown and being identified byreference numeral 311. The program and data memory device 311 ispreferably implemented as a so-called flash memory device. It storesexecutable program instructions and data. When the stored programinstructions are executed by the CPU 304, they cause the CPU 304 toperform various different operations described below. The flash memorydevice 324 is also capable of storing data as those of ordinary skill inthe art will recognize.

When the program instructions stored in the memory device 311 areexecuted by the processor 304, they provide the processor 304 with thealgorithms used to determine a connection priority of severalconnectible portable wireless communications devices such as those shownin FIG. 1 and FIG. 2. The program instructions in the program and datamemory 311 also enable the CPU 304 to connect the transceiver 302 to aparticular device that has the highest priority of all availabledevices.

In addition to connecting the CPU 304 to the transceiver 302, the userinterface 308 and the program and data memory 311, the bus 306 alsoconnects the CPU 304 to various sensors, the signal outputs of which arereferred to herein as vehicle status indicators. Examples of varioussensors and the information they output is collectively identified byreference numeral 310.

The different individual status indicators include, but are not limitedto signals or information from: a motion sensor 312 such as anintegrated circuit accelerometer that is configured to detect whetherthe vehicle is moving or stationary and to provide a signal that isindicative or representative of motion; a global positioning system(GPS) navigation device 314, which can provide location information,speed or velocity and direction information as well; one or more vehicleseat occupant sensors 316, configured to provide information to the CPUas to whether a seat in the vehicle is occupied and if so, how manyoccupants are in the vehicle and where they are seated; a temperaturesensor 318, configured to provide an output signal representative atemperature, and a driver's seat position detector 320, which providesinformation to the CPU 304 from which it can be determined which driverof many might be driving the vehicle. A compass (not shown) thatprovides a direction-of-travel signal can be added. A clock/calendar 322that provides time and/or date information can be provided. Theclock/calendar 322 can also store information about appointments, i.e.,places to be or persons to see at specific dates and/or times.Information from the clock/calendar in combination with information fromthe other sensors can help identify which Bluetooth device of manyshould be prioritized to be connected to the transceiver 302.

As stated above, in an alternate embodiment, a user can specify theprioritization order of a list of devices. A separate data memory 324 isthus depicted as being part of the communications module 300 as arepresentation of where such information could be stored.

FIG. 4 depicts steps of a method 400 for the communications module 300to select a particular device to connect. The method begins at step 410where the communications module 300 shown in FIG. 3, wirelesslydetermines the number and identity of available, connectible wirelessdevices using conventional techniques. The connectible devices, i.e.,those that are available to wirelessly connect to the communicationsmodule 300, include, by way of example, the devices shown in FIGS. 1 and2.

After the number and identity of available, connectible wireless devicesis determined by the communications module 300, at step 420, one or moreof the various operating conditions or status indicators can be read orevaluated by the controller or CPU 304. The particular operatingconditions and/or status indicators and their importance can be set orspecified by a user through the user interface 308 or, determined undersoftware control, i.e., by programmed instructions.

The information obtained at step 420 can include the date, day of theweek, time of day, the location of the vehicle, and whether the vehicleis in motion. The information obtained in step 420 can also include thedirection of the vehicle, who is seated in the driver's seat, how manypassengers are in the vehicle, and whether the available devices haveany service restrictions or service plan details that would restrict orprioritize the connectible devices differently. In addition, theinformation analyzed in step 420 can include route and destination datafrom a navigation system and appointment information made available froma calendar management system. The information obtained at step 420 isthat which is available from the status indicators collectivelyidentified by reference numeral 310 or which might be available in thedata memory 324 or stored in the program and data memory device 311.

It is important for purposes of claim construction to note herein thatthe data or information obtained from the status indicators is dynamicin that it can change continuously as the vehicle is operated; it canalso change from one day to the next or from one week to the next. Theoperating conditions detected by the various status indicators 310 isthus considered to be dynamic operating conditions which in oneembodiment can be prioritized or selected by a user or preprogrammed bythe instructions stored in the program and data memory device 311. Atstep 422, a determination is made whether a vehicle user has set anoperating condition (OC) prior order.

If the test at step 422 is true, the method proceeds to step 430, wherethe method reads an operating condition prioritization order from eitherthe program and data memory 311 or a data memory device 324. Theoperating condition prioritization order determines a sequence orordering of which operating conditions from the status indicators willbe used first, second, third and so forth to determine to which wirelesscommunications device the module will connected, which takes place atstep 432.

If the test at step 422 is false, which means the user did not set hisor her own OC order, the method proceeds to step 434, where a test ordetermination is made at step 434 whether the user set or specified, anOC weighting factor for various different OCs. Of the various operatingconditions that are read from the status indicators 310, they can beweighted by either a user-supplied value or a value preprogrammed intothe program instructions. By way of example, a seat position detector320 might be able to conclusively identify the occupant and user of thevehicle as a particular person based on the location at which a seat ispositioned. If the seat is in a particular position, the programinstructions can preferentially identify a particular Bluetooth deviceto connect based upon an assumption that, if the driver's seat is in aparticular location, a particular driver is seated in the driver's seatand that particular driver's phone should be connected.

Some keyless-entry systems use a small wireless transmitter to lock andunlock the vehicle's doors. The wireless transmitters for a particularvehicle can be configured to transmit a signal carrying data thatuniquely identifies each of the different key fobs. Driveridentification could therefore also be determined by other means, suchas the particular key fob in use and one or more pieces of data thatidentify a particular fob with a particular driver. Information carriedon a signal from a key fob that identifies a particular driver isconsidered herein to be driver key fob information.

If a user-specified OC weighting factor exists, the method proceeds tostep 436, where the OC prioritization weighting factors are read frommemory and applied to the various operating conditions in order to makea selection as to which device to enable/connect to at theaforementioned step 432.

If the test at step 422 fails and the test at step 434 fails, the methodproceeds to step 438, where another test is executed by which adetermination is made whether an empirically determined operatingcondition prioritization table exists. Determining a prioritizationempirically is based upon an experience or observation of how knownBluetooth devices are selected, over time, by a user manually connectinga specific phone to the communications module. The system thus learnswhich phone, or other Bluetooth-connectible device should be connected,and under what operating conditions. If such data exists, i.e., the testperformed at step 438 is true or “yes,” the method proceeds to step 439where the operating condition (OC) prioritization data/information isread, preferably from a list or table, and the prioritization factors inthe list or table are used to select a particular device to connect toat step 432.

If all of the tests performed at steps 422, 434 and 438 fail, whichhappens if there is no user-specified operating condition priority order(test at step 422 fails) and there is no user-specified operatingcondition weighting factor (test at step 434 fails and there is noempirically-determined prioritization table or factor (test at step 438fails), the method shown in FIG. 4 proceeds to step 440, which is a stepwhere the most-recently selected wireless device is identified as thedevice that is to be connected to again. That device is then connectedat step 432.

Regardless of the tests that are performed, after a device is connectedat step 432, when the vehicle is shut off, the device is disconnected atstep 442. The method 400 is repeated the next time a wireless device isto be connected.

Once the connectible device with the highest priority factor or level isdetermined, the communications module initiates a connection with thehighest priority available device. In a preferred embodiment, thecommunications module 300 periodically re-evaluates the priorities ofavailable devices, the frequency or rate of the re-evaluation being adesign choice. The communications module 300 may also monitor thevehicle for trigger events, e.g., a passenger leaving, or entering thevehicle. The communications module 300 can disconnect the currentlyconnected device and connect a higher priority device at any time, or asallowed by user preferences and program instructions.

When a connection is established between the communications module 300and a particular device, the communications module will periodicallyre-scan for available devices. If a higher-priority device comes intosignal range of the communications module 300, and is detected by thecommunications module 300, while it is connected and communicating witha lower-priority device, the communications module 300 can optionallyterminate the existing connection with a first device and connect to amore-recently arrived, higher-priority device.

The wireless device reconnection strategy described above can be used ina variety of different scenarios. In a first scenario, a vehicleequipped with a communications module 300 as described above canassociate a specific wireless device communications device 204, 206, 208or 210 with a specific driver. An association of a device to a drivercan be made either via the user interface 308 or by the wirelesstransceiver 302 keeping track of which wireless communications device204, 206, 208 or 210 connects with the communications module 300 whenonly the driver is in the vehicle.

If the vehicle 100 is capable of identifying a driver by a particularwireless key fob, driver biometric information such as the driver'sspeech, retina, or a visual recognition system, the communicationsmodule 300 can associate a particular wireless communications device 204that happens to be in the vehicle when there are no passengers in thevehicle 100 and only the driver is present. Thereafter, when the samedriver's device 204 is detected in the vehicle 100 along with otherdevices 206, 208 and/or 210, the communications module 300 canpreferentially connect to the driver's device 204 ahead of the otherdevices 206, 208 and 210.

In another scenario two or more people car pool, i.e., they share theuse of the same car and drive to work together, but their uses of theone car vary depending on the day of the week. Assume that a firstperson drives the car on Monday, Wednesday and Friday and uses a firstkey fob to open, start and operate the car. Assume too that a secondperson drives the car on Tuesdays and Thursday but uses a second anddifferent key fob. Since the car 100 and the communications module 300can determine who is driving the car on Monday, Wednesday and Fridays bythe first key fob and determine who is driving on Tuesdays and Thursdaysby the second key fob, the communications module 300 can be configuredto preferentially connect with the first person's wireless device onMondays, Wednesdays and Fridays and preferentially connect to the secondperson's wireless device on Tuesdays and Thursdays, simply by keepingtrack of which key fob is used to open, start and/or operate the vehicle100 and by using information obtained from the clock/calendar 322.

In another scenario, if a first connected wireless device 204 isconnected to the communications module subsequently requests thecommunications module 300 to disconnect from the device 204, thecommunications module 300 can be configured to attempt to re-connect toa second and different wireless device 206, 208 or 210 based uponnext-device selection rules that can either be in place or that can beput in place at the time of the disconnection of the first device 204. Anext-device selection rule can simply be to connect to a device that isnext in a list. Next-device selection rules can also be more complex,such as a selection based on weighting of one or more indicators or dataobtained from the various sensors 312, 314, 316, 318 or 320 as describedabove. The communications module 300 will nevertheless be re-connectedto another wireless device 206, 208 or 210 according to steps depictedin FIG. 4.

In another scenario, consider when a first wireless device 204 iswirelessly connected to the communications module 300 but the firstdevice 204 is not the driver's device. If the vehicle 100 stops movingand the connection with the first wireless device 204 is dropped orterminated during the stop, if the vehicle 100 detects one lesspassenger when the vehicle 100 starts moving again, the wireless device206, 208 or 210 having the highest priority will be the device to whichthe communications module 300 is re-connected using steps depicted inFIG. 4.

In another car pooling scenario, wherein multiple wireless devices 204,206, 208 and 210 are in the vehicle 100 and each of them is capable ofbeing connected to the communications module 300, data that includestime-of-day and/or, day-of-week data from the clock/calendar 322 can beused by the communications module 300 to select a particular device 204,206, 208 and 210 to connect or re-connect to. If for example a firstperson in the vehicle 100 (driver or passenger) has a regularlyscheduled business conference call on Mondays at 8:00 AM and a secondperson (driver or passenger) sometimes retrieves voice mail messagesbetween 8:00 and 8:30 AM, the first person's 8:00 AM conference can begiven a higher weighting factor, higher priority than the secondperson's connection to retrieve voice mail between 8:00 AM and 8:30 AM.The communications module 300 will thus connect to the first person'swireless device, even if the second person happens to be driving.

In a somewhat more complicated scenario, consider multiple wirelesscommunications devices 204, 206, 208 and 210 located in a vehicle 100that will travel over a long route in which service coverage bydifferent wireless service providers will change or are likely tochange. If different devices 204, 206, 208 and 210 have different radiooperating characteristics such as different receiver sensitivities,different transmitter power levels and/or different battery life,different devices 204, 206, 208 and 210 can be selected along the routeas a preferred device to be connected to by the communications module300 using weighting factors applied to various radio operatingcharacteristics of the different devices. Similarly, if differentdevices 204, 206, 208 and 210 are associated with different serviceproviders, a device 204 can be selected or de-selected from the others206, 208 and 210, along the route based on a determination of whichdevice is not roaming or roaming.

The communications module 300 can also select a device to connect to,based on one or more operating features of a wireless device. Consider acommunications module 300 that provides a wireless connection to a firstphone 204 having a service plan that does not include messaging whereasa second phone 206 has a service plan that does. If a text message needsto be sent from a vehicle's reporting system, a text message is createdby the vehicle 100 that will need to be sent.

The communications module 300 can be configured to keep both phonesconnected, with the second phone providing messaging service to thevehicle 100. It can also be configured to keep only the first phoneconnected for voice communications and connect the second phone formessaging on an as-needed basis. The communications module can alsoselect a device to connect to, based on a user's service plan minutes,data messaging limitations, load balancing, or preferential routing ofrequests based on cost. One phone might have unlimited text messaging orunlimited voice call minutes while another phone does not.

In yet another scenario, the communications module 300 can select aparticular device 204, 206, 208, 210 to connect to, using a calendar orschedule of a user of a device 204, 206, 208, 210. If two people use thesame vehicle 100, one of them can choose to enable a calendarfunctionality of his or her device 204 to be linked and/or synchronizedto the clock/calendar 322. The processor 304 can periodically check theclock/calendar 322 for dates and times when a particular wireless device204, 206, 208, 210 needs to be connected to, in order to enable the userof the device to satisfy a scheduled requirement for communications. Byway of example, if the communications module 300 knows that a particularperson has a need to place or receive telephone call on a particulardate at a particular time, the communications module can prioritize thewireless communications device associated with that particular person.

The determination of a need for a connection can be made by an explicitcommand or instruction. Determining when a connection is needed can alsobe made by searching calendar entries for particular key words.

For purposes of claim construction, the processor or CPU 304, theinstructions it executes, and the memory device 311 and/or 324 whereininstructions and/or data can be stored, perform the prioritizationdeterminations and priority comparisons. The CPU 304, its instructionsand the memory devices wherein those instructions and/or data are storeare therefore considered herein to be a prioritizer. The determinationof a connection priority of a wireless device 204, 206, 208 and 210 inthe vehicle 100 is thus made by the communications module 300, which ispart of the vehicle 100. A wireless device's connection prioritydetermination is not made by the device or by a wireless serviceprovider.

Furthermore, the CPU 304, the instructions it executes and the memorydevice 311 and/or 324 wherein instructions and/or data can be stored,effectuate the connection of the communications module 300 to aparticular device from the available devices pool. The CPU 304, itsinstructions and the memory devices wherein those instructions and/ordata are store are therefore considered herein to be a connector. Thebus 306 can also be considered to be a connector.

Those of ordinary skill in the art will recognize that the foregoingdescription is only for purposes of illustration. The true scope of theinvention is set forth in the appurtenant claims.

1. In a wireless communications system comprising a wirelesscommunications module and a plurality of unconnected but connectibleportable wireless communications devices, a method of selecting aparticular device to connect to the communications module, the methodcomprising: determining a connection priority of a plurality ofconnectible devices, the connection priority of a connectible devicebeing determinable based on at least one dynamic operating conditionthat is selectable from a plurality of possible dynamic operatingconditions; and connecting to the communications module, thehighest-priority available device.
 2. The method of claim 1, wherein thewireless communications module is part of a vehicle and wherein the stepof determining a connection priority is performed by the wirelesscommunications module.
 3. The method of claim 2, wherein the at leastone dynamic operating condition is selected by a user of the system. 4.The method of claim 2, wherein the at least one operating conditionselected by a user also has a value, which is specified by the user. 5.The method of claim 2, wherein the possible dynamic operating conditionshave a prioritization order.
 6. The method of claim 5, wherein theprioritization order comprises an importance weighting.
 7. The method ofclaim 5, wherein the prioritization order comprises an importanceranking.
 8. The method of claim 2, wherein the at least one dynamicoperating condition is selected empirically by the communicationsmodule.
 9. The method of claim 2, wherein the step of determining aconnection priority comprises an empirical ordering of possible dynamicoperating conditions by the communications module.
 10. The method ofclaim 2, wherein the at least one operating condition has a value, whichis determined empirically by the communications module.
 11. Acommunications module comprising: a radio frequency transceiverconfigured to send radio frequency signals to and receive radiofrequency signals from compatible portable wireless communicationsdevices; a prioritizer coupled to the radio frequency transceiver andwhich is configured to determine a connection priority of a plurality ofconnectible, available, devices; and a connector coupled to thetransceiver and prioritizer, the connector being configured toeffectuate the wireless connection of the communications module to aspecific portable wireless communications device responsive to aprioritization indicator from the prioritizer.
 12. The communicationsmodule of claim 11, coupled with a user interface configured to receivea user-specified prioritization of portable wireless communicationsdevices to connect to the communications module.
 13. The communicationsmodule of claim 11, augmented by a vehicle status indicator coupled tothe prioritizer, the status indicator providing at least one of: a date;day of the week; time of day; date information; appointment information;an indication of motion; an indication of a direction; driver key fobinformation; route or destination information from a navigation system;an indication that a seat is occupied; a temperature; a seat position;and a database of portable wireless communication device operatingparameters and conditions.
 14. The communications module of claim 11,wherein the prioritizer and connector comprise: a processor coupled tothe transceiver and the user interface; and at least one non-transitorymemory device coupled to the processor, the at least one non-transitorymemory device storing program instructions that, when executed, causethe processor to: determine a connection priority of a plurality ofportable wireless devices that are connectible to the transceiver, eachportable wireless device having a relative connection priority; andestablish a wireless connection between the communications module andone portable wireless device having the highest relative connectionpriority.
 15. The communications module of claim 14, wherein the programinstructions are configured to determine a connection priority byselecting a connectible device from a plurality of devices based on atleast one dynamic operating condition that is selected by the processorfrom a plurality of possible dynamic operating conditions.
 16. Thecommunications module of claim 14, wherein the program instructions areconfigured to determine a connection priority by selecting a connectibledevice from a plurality of devices based on at least one dynamicoperating condition that is selected by a user of the communicationsmodule.
 17. The communications module of claim 14, wherein the programinstructions are configured to determine a connection priority byselecting a connectible device from a plurality of devices based on animportance weighting.
 18. The communications module of claim 14, whereinthe program instructions are configured to determine a connectionpriority by selecting a connectible device from a plurality of devicesbased on an importance ranking.
 19. The communications module of claim14, wherein the program instructions are configured to determine aconnection priority empirically.
 20. A communications system comprising:a wireless communications module, configured to be able to wirelesslyconnect to one portable wireless device selected from a plurality ofportable wireless devices, the wireless communications module beingconfigured to select a portable wireless device to connect to using aconnection prioritization; at least one portable wireless device,configured to be wirelessly connected to the wireless communicationsmodule.